
package com.hlkj.pay.service.order;
/*
 * Hlpay-Plus aggregate payment system.
 * Copyright (c) 2024-2025 Hlpay Team Copyright has the right of final interpretation.
 */

import java.util.List;

import com.hlkj.framework.common.pojo.PageResult;
import com.hlkj.pay.dto.order.OrderWithdrawDto;
import com.hlkj.pay.dto.order.WithdrawOrderQueryDto;
import com.hlkj.pay.dto.order.WithdrawPageStatisticsDto;
import com.hlkj.pay.infrastructure.model.order.OrderWithdrawDO;
import com.hlkj.pay.vo.order.req.WithdrawOrderPageQueryReq;
import org.apache.ibatis.annotations.Param;

/**
 * @author HlpayTeam
 * @date 2025/02/08 15:26
 */
public interface IWithdrawOrderService {

    /**
     *
     * @param payOrderNo
     * @return
     */
    OrderWithdrawDO queryPayOrder(String payOrderNo);

    /**
     *
     * @param updatePayOrderDO
     * @return
     */
    int updatePayOrderStatus(OrderWithdrawDO updatePayOrderDO);

    /**
     * 
     * @param sn
     * @param mchOrderNo
     * @return
     */
    OrderWithdrawDO queryByMchOrderNo(String sn, String mchOrderNo);

    /**
     * 
     * @param orderTransfer
     */
    void addWithdrawOrder(OrderWithdrawDO orderTransfer);

    /**
     * 
     * @param commonOrderQueryDto
     * @return
     */
    PageResult<OrderWithdrawDto> queryPage(WithdrawOrderQueryDto commonOrderQueryDto);
    /**
     *
     * @param commonOrderQueryDto
     * @return
     */
    List<OrderWithdrawDO> queryList(WithdrawOrderQueryDto commonOrderQueryDto);

    List<OrderWithdrawDto> queryPageList(WithdrawOrderQueryDto commonOrderQueryDto);


    WithdrawPageStatisticsDto withdrawStaticOrdersPage(WithdrawOrderQueryDto commonOrderQueryDto);
}
